Software quality management

Contents

Definitions

Introduction

Integrating SQM into the development lifecycle from day 1 is a way to ensure the successful development of a quality product.

Description

The computer scientist Ian Sommerville[1] uses SQM as an umbrella-term that includes the following quality layers:

  1. Software Quality Assurance (SQA) layer
    An Organizational quality guide of
    • Standards, regulations, and procedures to produce, verify, evaluate and confirm work products during the software development lifecycle
    • Incorporated knowledge base of best practices
    • Off-the-shelf software tools selected to apply the above
  2. Software Quality Plan (SQP) layer
    A project level quality plan written by each project for declaring project commitment to follow an applicable set of standards, regulations, procedures and tools during the development lifecycle. In addition, SQP should contain quality goals to be achieved, expected risks and risk management. SQP sources are derived from
    • SQA components that are adopted as is or customized to the project's needs
    • New procedures, standards and tools complementing missing or not-applicable SQA components that have been written in particular for the project, or imported from outside the organization.
          Any deviation of an SQP from SQA should be justified by the project manager and be confirmed
          by the company management.
    
  3. Software Quality Control (SQC) layer
    Ensures in-process that both SQA and SQP are being followed by the development teams.
    SQC activities include
    • Mentoring how to produce artifacts, such as well-defined engineering documents using standard templates
    • Mentoring how to conduct standard processes, such as quality reviews
    • Perform in-process quality reviews to verify, evaluate and confirm artifacts
    • Verify and evaluate to improve the use of methods, procedures and adopted software tools

SQM Roles

Many people use the terms SQM and SQA (Software quality assurance) interchangeably.

References

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.

  1. ^ Ian Sommerville (2004), Software Engineering, 7th ed., chapter 27